package com.lzj.mallchat.common.chat.dao;

import com.lzj.mallchat.common.chat.domain.entity.Room;
import com.lzj.mallchat.common.chat.mapper.RoomMapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * <p>
 * 房间表 服务实现类
 * </p>
 */
@Service
public class RoomDao extends ServiceImpl<RoomMapper, Room> implements IService<Room> {

    /**
     * 更新房间的活跃时间
     * @param roomId 房间ID，用于定位特定的房间
     * @param msgId 最新消息的ID，用于记录房间的最后一条消息
     * @param msgTime 消息时间，用于更新房间的活跃时间
     */
    public void refreshActiveTime(Long roomId, Long msgId, Date msgTime) {
        // 根据房间ID定位，并更新房间的最后一条消息ID和活跃时间
        lambdaUpdate()
                .eq(Room::getId, roomId)
                .set(Room::getLastMsgId, msgId)
                .set(Room::getActiveTime, msgTime)
                .update();
    }
}
